(0) Obligation:

Clauses:

rem(X, Y, R) :- ','(notZero(Y), ','(sub(X, Y, Z), rem(Z, Y, R))).
rem(X, Y, X) :- ','(notZero(Y), geq(X, Y)).
sub(s(X), s(Y), Z) :- sub(X, Y, Z).
sub(X, 0, X).
notZero(s(X)).
geq(s(X), s(Y)) :- geq(X, Y).
geq(X, 0).

Query: rem(g,a,g)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

subA(s(T44), s(T46), X64) :- subA(T44, T46, X64).
subA(T51, 0, T51).
geqB(s(T92), s(T94)) :- geqB(T92, T94).
geqB(T99, 0).
subC(s(T31), T33, X40) :- subA(T31, T33, X40).
remD(T7, s(T16), T9) :- subC(T7, T16, X7).
remD(T7, s(T20), T9) :- ','(subC(T7, T20, T19), remD(T19, s(T20), T9)).
remD(s(T79), s(T81), s(T79)) :- geqB(T79, T81).

Query: remD(g,a,g)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
remD_in: (b,f,b) (b,b,b)
subC_in: (b,f,f) (b,b,f)
subA_in: (b,f,f) (b,b,f)
geqB_in: (b,b) (b,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

REMD_IN_GAG(T7, s(T16), T9) → U4_GAG(T7, T16, T9, subC_in_gaa(T7, T16, X7))
REMD_IN_GAG(T7, s(T16), T9) → SUBC_IN_GAA(T7, T16, X7)
SUBC_IN_GAA(s(T31), T33, X40) → U3_GAA(T31, T33, X40, subA_in_gaa(T31, T33, X40))
SUBC_IN_GAA(s(T31), T33, X40) → SUBA_IN_GAA(T31, T33, X40)
SUBA_IN_GAA(s(T44), s(T46), X64) → U1_GAA(T44, T46, X64, subA_in_gaa(T44, T46, X64))
SUBA_IN_GAA(s(T44), s(T46), X64) → SUBA_IN_GAA(T44, T46, X64)
REMD_IN_GAG(T7, s(T20), T9) → U5_GAG(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_GAG(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_GAG(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
U5_GAG(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)
REMD_IN_GGG(T7, s(T16), T9) → U4_GGG(T7, T16, T9, subC_in_gga(T7, T16, X7))
REMD_IN_GGG(T7, s(T16), T9) → SUBC_IN_GGA(T7, T16, X7)
SUBC_IN_GGA(s(T31), T33, X40) → U3_GGA(T31, T33, X40, subA_in_gga(T31, T33, X40))
SUBC_IN_GGA(s(T31), T33, X40) → SUBA_IN_GGA(T31, T33, X40)
SUBA_IN_GGA(s(T44), s(T46), X64) → U1_GGA(T44, T46, X64, subA_in_gga(T44, T46, X64))
SUBA_IN_GGA(s(T44), s(T46), X64) → SUBA_IN_GGA(T44, T46, X64)
REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_GGG(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)
REMD_IN_GGG(s(T79), s(T81), s(T79)) → U7_GGG(T79, T81, geqB_in_gg(T79, T81))
REMD_IN_GGG(s(T79), s(T81), s(T79)) → GEQB_IN_GG(T79, T81)
GEQB_IN_GG(s(T92), s(T94)) → U2_GG(T92, T94, geqB_in_gg(T92, T94))
GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)
REMD_IN_GAG(s(T79), s(T81), s(T79)) → U7_GAG(T79, T81, geqB_in_ga(T79, T81))
REMD_IN_GAG(s(T79), s(T81), s(T79)) → GEQB_IN_GA(T79, T81)
GEQB_IN_GA(s(T92), s(T94)) → U2_GA(T92, T94, geqB_in_ga(T92, T94))
GEQB_IN_GA(s(T92), s(T94)) → GEQB_IN_GA(T92, T94)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
REMD_IN_GAG(x1, x2, x3)  =  REMD_IN_GAG(x1, x3)
U4_GAG(x1, x2, x3, x4)  =  U4_GAG(x4)
SUBC_IN_GAA(x1, x2, x3)  =  SUBC_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x4)
SUBA_IN_GAA(x1, x2, x3)  =  SUBA_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4)  =  U1_GAA(x4)
U5_GAG(x1, x2, x3, x4)  =  U5_GAG(x3, x4)
U6_GAG(x1, x2, x3, x4)  =  U6_GAG(x2, x4)
REMD_IN_GGG(x1, x2, x3)  =  REMD_IN_GGG(x1, x2, x3)
U4_GGG(x1, x2, x3, x4)  =  U4_GGG(x4)
SUBC_IN_GGA(x1, x2, x3)  =  SUBC_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x4)
SUBA_IN_GGA(x1, x2, x3)  =  SUBA_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x4)
U5_GGG(x1, x2, x3, x4)  =  U5_GGG(x2, x3, x4)
U6_GGG(x1, x2, x3, x4)  =  U6_GGG(x4)
U7_GGG(x1, x2, x3)  =  U7_GGG(x3)
GEQB_IN_GG(x1, x2)  =  GEQB_IN_GG(x1, x2)
U2_GG(x1, x2, x3)  =  U2_GG(x3)
U7_GAG(x1, x2, x3)  =  U7_GAG(x3)
GEQB_IN_GA(x1, x2)  =  GEQB_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x3)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REMD_IN_GAG(T7, s(T16), T9) → U4_GAG(T7, T16, T9, subC_in_gaa(T7, T16, X7))
REMD_IN_GAG(T7, s(T16), T9) → SUBC_IN_GAA(T7, T16, X7)
SUBC_IN_GAA(s(T31), T33, X40) → U3_GAA(T31, T33, X40, subA_in_gaa(T31, T33, X40))
SUBC_IN_GAA(s(T31), T33, X40) → SUBA_IN_GAA(T31, T33, X40)
SUBA_IN_GAA(s(T44), s(T46), X64) → U1_GAA(T44, T46, X64, subA_in_gaa(T44, T46, X64))
SUBA_IN_GAA(s(T44), s(T46), X64) → SUBA_IN_GAA(T44, T46, X64)
REMD_IN_GAG(T7, s(T20), T9) → U5_GAG(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_GAG(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_GAG(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
U5_GAG(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)
REMD_IN_GGG(T7, s(T16), T9) → U4_GGG(T7, T16, T9, subC_in_gga(T7, T16, X7))
REMD_IN_GGG(T7, s(T16), T9) → SUBC_IN_GGA(T7, T16, X7)
SUBC_IN_GGA(s(T31), T33, X40) → U3_GGA(T31, T33, X40, subA_in_gga(T31, T33, X40))
SUBC_IN_GGA(s(T31), T33, X40) → SUBA_IN_GGA(T31, T33, X40)
SUBA_IN_GGA(s(T44), s(T46), X64) → U1_GGA(T44, T46, X64, subA_in_gga(T44, T46, X64))
SUBA_IN_GGA(s(T44), s(T46), X64) → SUBA_IN_GGA(T44, T46, X64)
REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_GGG(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)
REMD_IN_GGG(s(T79), s(T81), s(T79)) → U7_GGG(T79, T81, geqB_in_gg(T79, T81))
REMD_IN_GGG(s(T79), s(T81), s(T79)) → GEQB_IN_GG(T79, T81)
GEQB_IN_GG(s(T92), s(T94)) → U2_GG(T92, T94, geqB_in_gg(T92, T94))
GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)
REMD_IN_GAG(s(T79), s(T81), s(T79)) → U7_GAG(T79, T81, geqB_in_ga(T79, T81))
REMD_IN_GAG(s(T79), s(T81), s(T79)) → GEQB_IN_GA(T79, T81)
GEQB_IN_GA(s(T92), s(T94)) → U2_GA(T92, T94, geqB_in_ga(T92, T94))
GEQB_IN_GA(s(T92), s(T94)) → GEQB_IN_GA(T92, T94)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
REMD_IN_GAG(x1, x2, x3)  =  REMD_IN_GAG(x1, x3)
U4_GAG(x1, x2, x3, x4)  =  U4_GAG(x4)
SUBC_IN_GAA(x1, x2, x3)  =  SUBC_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x4)
SUBA_IN_GAA(x1, x2, x3)  =  SUBA_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4)  =  U1_GAA(x4)
U5_GAG(x1, x2, x3, x4)  =  U5_GAG(x3, x4)
U6_GAG(x1, x2, x3, x4)  =  U6_GAG(x2, x4)
REMD_IN_GGG(x1, x2, x3)  =  REMD_IN_GGG(x1, x2, x3)
U4_GGG(x1, x2, x3, x4)  =  U4_GGG(x4)
SUBC_IN_GGA(x1, x2, x3)  =  SUBC_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x4)
SUBA_IN_GGA(x1, x2, x3)  =  SUBA_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x4)
U5_GGG(x1, x2, x3, x4)  =  U5_GGG(x2, x3, x4)
U6_GGG(x1, x2, x3, x4)  =  U6_GGG(x4)
U7_GGG(x1, x2, x3)  =  U7_GGG(x3)
GEQB_IN_GG(x1, x2)  =  GEQB_IN_GG(x1, x2)
U2_GG(x1, x2, x3)  =  U2_GG(x3)
U7_GAG(x1, x2, x3)  =  U7_GAG(x3)
GEQB_IN_GA(x1, x2)  =  GEQB_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x3)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 20 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GEQB_IN_GA(s(T92), s(T94)) → GEQB_IN_GA(T92, T94)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
GEQB_IN_GA(x1, x2)  =  GEQB_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GEQB_IN_GA(s(T92), s(T94)) → GEQB_IN_GA(T92, T94)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
GEQB_IN_GA(x1, x2)  =  GEQB_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

GEQB_IN_GA(s(T92)) → GEQB_IN_GA(T92)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • GEQB_IN_GA(s(T92)) → GEQB_IN_GA(T92)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
GEQB_IN_GG(x1, x2)  =  GEQB_IN_GG(x1, x2)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • GEQB_IN_GG(s(T92), s(T94)) → GEQB_IN_GG(T92, T94)
    The graph contains the following edges 1 > 1, 2 > 2

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUBA_IN_GGA(s(T44), s(T46), X64) → SUBA_IN_GGA(T44, T46, X64)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
SUBA_IN_GGA(x1, x2, x3)  =  SUBA_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUBA_IN_GGA(s(T44), s(T46), X64) → SUBA_IN_GGA(T44, T46, X64)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
SUBA_IN_GGA(x1, x2, x3)  =  SUBA_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUBA_IN_GGA(s(T44), s(T46)) → SUBA_IN_GGA(T44, T46)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUBA_IN_GGA(s(T44), s(T46)) → SUBA_IN_GGA(T44, T46)
    The graph contains the following edges 1 > 1, 2 > 2

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
REMD_IN_GGG(x1, x2, x3)  =  REMD_IN_GGG(x1, x2, x3)
U5_GGG(x1, x2, x3, x4)  =  U5_GGG(x2, x3, x4)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_GGG(T7, T20, T9, subC_out_gga(T7, T20, T19)) → REMD_IN_GGG(T19, s(T20), T9)

The TRS R consists of the following rules:

subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
REMD_IN_GGG(x1, x2, x3)  =  REMD_IN_GGG(x1, x2, x3)
U5_GGG(x1, x2, x3, x4)  =  U5_GGG(x2, x3, x4)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T20, T9, subC_in_gga(T7, T20))
U5_GGG(T20, T9, subC_out_gga(T19)) → REMD_IN_GGG(T19, s(T20), T9)

The TRS R consists of the following rules:

subC_in_gga(s(T31), T33) → U3_gga(subA_in_gga(T31, T33))
U3_gga(subA_out_gga(X40)) → subC_out_gga(X40)
subA_in_gga(s(T44), s(T46)) → U1_gga(subA_in_gga(T44, T46))
subA_in_gga(T51, 0) → subA_out_gga(T51)
U1_gga(subA_out_gga(X64)) → subA_out_gga(X64)

The set Q consists of the following terms:

subC_in_gga(x0, x1)
U3_gga(x0)
subA_in_gga(x0, x1)
U1_gga(x0)

We have to consider all (P,Q,R)-chains.

(35) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


U5_GGG(T20, T9, subC_out_gga(T19)) → REMD_IN_GGG(T19, s(T20), T9)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 0   
POL(REMD_IN_GGG(x1, x2, x3)) = 1 + x1   
POL(U1_gga(x1)) = x1   
POL(U3_gga(x1)) = x1   
POL(U5_GGG(x1, x2, x3)) = 1 + x3   
POL(s(x1)) = 1 + x1   
POL(subA_in_gga(x1, x2)) = 1 + x1   
POL(subA_out_gga(x1)) = 1 + x1   
POL(subC_in_gga(x1, x2)) = x1   
POL(subC_out_gga(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

subC_in_gga(s(T31), T33) → U3_gga(subA_in_gga(T31, T33))
subA_in_gga(s(T44), s(T46)) → U1_gga(subA_in_gga(T44, T46))
subA_in_gga(T51, 0) → subA_out_gga(T51)
U3_gga(subA_out_gga(X40)) → subC_out_gga(X40)
U1_gga(subA_out_gga(X64)) → subA_out_gga(X64)

(36) Obligation:

Q DP problem:
The TRS P consists of the following rules:

REMD_IN_GGG(T7, s(T20), T9) → U5_GGG(T20, T9, subC_in_gga(T7, T20))

The TRS R consists of the following rules:

subC_in_gga(s(T31), T33) → U3_gga(subA_in_gga(T31, T33))
U3_gga(subA_out_gga(X40)) → subC_out_gga(X40)
subA_in_gga(s(T44), s(T46)) → U1_gga(subA_in_gga(T44, T46))
subA_in_gga(T51, 0) → subA_out_gga(T51)
U1_gga(subA_out_gga(X64)) → subA_out_gga(X64)

The set Q consists of the following terms:

subC_in_gga(x0, x1)
U3_gga(x0)
subA_in_gga(x0, x1)
U1_gga(x0)

We have to consider all (P,Q,R)-chains.

(37) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(38) TRUE

(39) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUBA_IN_GAA(s(T44), s(T46), X64) → SUBA_IN_GAA(T44, T46, X64)

The TRS R consists of the following rules:

remD_in_gag(T7, s(T16), T9) → U4_gag(T7, T16, T9, subC_in_gaa(T7, T16, X7))
subC_in_gaa(s(T31), T33, X40) → U3_gaa(T31, T33, X40, subA_in_gaa(T31, T33, X40))
subA_in_gaa(s(T44), s(T46), X64) → U1_gaa(T44, T46, X64, subA_in_gaa(T44, T46, X64))
subA_in_gaa(T51, 0, T51) → subA_out_gaa(T51, 0, T51)
U1_gaa(T44, T46, X64, subA_out_gaa(T44, T46, X64)) → subA_out_gaa(s(T44), s(T46), X64)
U3_gaa(T31, T33, X40, subA_out_gaa(T31, T33, X40)) → subC_out_gaa(s(T31), T33, X40)
U4_gag(T7, T16, T9, subC_out_gaa(T7, T16, X7)) → remD_out_gag(T7, s(T16), T9)
remD_in_gag(T7, s(T20), T9) → U5_gag(T7, T20, T9, subC_in_gaa(T7, T20, T19))
U5_gag(T7, T20, T9, subC_out_gaa(T7, T20, T19)) → U6_gag(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(T7, s(T16), T9) → U4_ggg(T7, T16, T9, subC_in_gga(T7, T16, X7))
subC_in_gga(s(T31), T33, X40) → U3_gga(T31, T33, X40, subA_in_gga(T31, T33, X40))
subA_in_gga(s(T44), s(T46), X64) → U1_gga(T44, T46, X64, subA_in_gga(T44, T46, X64))
subA_in_gga(T51, 0, T51) → subA_out_gga(T51, 0, T51)
U1_gga(T44, T46, X64, subA_out_gga(T44, T46, X64)) → subA_out_gga(s(T44), s(T46), X64)
U3_gga(T31, T33, X40, subA_out_gga(T31, T33, X40)) → subC_out_gga(s(T31), T33, X40)
U4_ggg(T7, T16, T9, subC_out_gga(T7, T16, X7)) → remD_out_ggg(T7, s(T16), T9)
remD_in_ggg(T7, s(T20), T9) → U5_ggg(T7, T20, T9, subC_in_gga(T7, T20, T19))
U5_ggg(T7, T20, T9, subC_out_gga(T7, T20, T19)) → U6_ggg(T7, T20, T9, remD_in_ggg(T19, s(T20), T9))
remD_in_ggg(s(T79), s(T81), s(T79)) → U7_ggg(T79, T81, geqB_in_gg(T79, T81))
geqB_in_gg(s(T92), s(T94)) → U2_gg(T92, T94, geqB_in_gg(T92, T94))
geqB_in_gg(T99, 0) → geqB_out_gg(T99, 0)
U2_gg(T92, T94, geqB_out_gg(T92, T94)) → geqB_out_gg(s(T92), s(T94))
U7_ggg(T79, T81, geqB_out_gg(T79, T81)) → remD_out_ggg(s(T79), s(T81), s(T79))
U6_ggg(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_ggg(T7, s(T20), T9)
U6_gag(T7, T20, T9, remD_out_ggg(T19, s(T20), T9)) → remD_out_gag(T7, s(T20), T9)
remD_in_gag(s(T79), s(T81), s(T79)) → U7_gag(T79, T81, geqB_in_ga(T79, T81))
geqB_in_ga(s(T92), s(T94)) → U2_ga(T92, T94, geqB_in_ga(T92, T94))
geqB_in_ga(T99, 0) → geqB_out_ga(T99, 0)
U2_ga(T92, T94, geqB_out_ga(T92, T94)) → geqB_out_ga(s(T92), s(T94))
U7_gag(T79, T81, geqB_out_ga(T79, T81)) → remD_out_gag(s(T79), s(T81), s(T79))

The argument filtering Pi contains the following mapping:
remD_in_gag(x1, x2, x3)  =  remD_in_gag(x1, x3)
U4_gag(x1, x2, x3, x4)  =  U4_gag(x4)
subC_in_gaa(x1, x2, x3)  =  subC_in_gaa(x1)
s(x1)  =  s(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x4)
subA_in_gaa(x1, x2, x3)  =  subA_in_gaa(x1)
U1_gaa(x1, x2, x3, x4)  =  U1_gaa(x4)
subA_out_gaa(x1, x2, x3)  =  subA_out_gaa(x2, x3)
subC_out_gaa(x1, x2, x3)  =  subC_out_gaa(x2, x3)
remD_out_gag(x1, x2, x3)  =  remD_out_gag(x2)
U5_gag(x1, x2, x3, x4)  =  U5_gag(x3, x4)
U6_gag(x1, x2, x3, x4)  =  U6_gag(x2, x4)
remD_in_ggg(x1, x2, x3)  =  remD_in_ggg(x1, x2, x3)
U4_ggg(x1, x2, x3, x4)  =  U4_ggg(x4)
subC_in_gga(x1, x2, x3)  =  subC_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
subA_in_gga(x1, x2, x3)  =  subA_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
subA_out_gga(x1, x2, x3)  =  subA_out_gga(x3)
subC_out_gga(x1, x2, x3)  =  subC_out_gga(x3)
remD_out_ggg(x1, x2, x3)  =  remD_out_ggg
U5_ggg(x1, x2, x3, x4)  =  U5_ggg(x2, x3, x4)
U6_ggg(x1, x2, x3, x4)  =  U6_ggg(x4)
U7_ggg(x1, x2, x3)  =  U7_ggg(x3)
geqB_in_gg(x1, x2)  =  geqB_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geqB_out_gg(x1, x2)  =  geqB_out_gg
U7_gag(x1, x2, x3)  =  U7_gag(x3)
geqB_in_ga(x1, x2)  =  geqB_in_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x3)
geqB_out_ga(x1, x2)  =  geqB_out_ga(x2)
SUBA_IN_GAA(x1, x2, x3)  =  SUBA_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(40) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(41) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUBA_IN_GAA(s(T44), s(T46), X64) → SUBA_IN_GAA(T44, T46, X64)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
SUBA_IN_GAA(x1, x2, x3)  =  SUBA_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(42) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(43) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUBA_IN_GAA(s(T44)) → SUBA_IN_GAA(T44)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(44) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUBA_IN_GAA(s(T44)) → SUBA_IN_GAA(T44)
    The graph contains the following edges 1 > 1

(45) YES